CRIUS Multiwii Flight Control Board and Multiwii MWC FC CN-06 GPS Receiver V2.0



MultiwiiFlight Control BoardのGPSの接続に関するレポートです。


まずパソコンの準備をします。
USBにFTDIを接続、パソコンに認識させてCOMポートの番号を確認しておきます。
Multiwii MWC FC CN-06 GPS Receiver V2.0 はu-bloxのGPSなのでu-center GPS評価ソフトウェアをDLして
セットアップを実行します。

u-center GPS評価ソフトウェア

u-center GPS評価ソフトウェア日本語マニュアル  も目を通しておきましょう。

まずデフォルトでFTDIとGPSを接続します。

 

u-center.exeを実行。



GPSとFCの配線の関係は送信TX,(GPS)と受信RX,(FC)なのでGPSのTXはFCのRXに接続、GPSとFTDIも同じ関係なので
GPSのTXはFTDIのRXに繋ぎます。逆にFTDIのTXはGPSのRXに繋ぎFTDIからデータを送信してGPSの設定を変更したりします。
この関係はFCと周辺機器のすべてに言える事なのでおぼえておきましょう。

注意事項をもう一つこのジャンルのリード線の色は系統毎の規定が無いので何に繋がっているかは
色では判断できません、必ずボードの表示から追いかけて接続するようにします。

    デフォルトではボーレート9600、リフレッシュレート1HZになっていますがこの状態でパソコン上で衛星を捕捉するはずです。
    室内だと感度が悪いので出来れば野外、室内なら窓際にGPSモジュールを置くと衛星を捕捉しやすいです。
    正常に動作していればコールドスタートでも数分でソフトの画面に衛星を捉えた映像が現れます。

    GPSの設定をMultiWii FCの設定(ボーレート115200、リフレッシュレート5HZ)に変更します。



    『UBX』→『CFG』→『PRT』を選択します。
    プロトコルとボーレートを115200に変更してSENDを押します。



    『UBX』→『CFG』→『RATE』を選択します。
    200ms 5Hzと入力してSENDを押します。



    『UBX』→『CFG』→『CFG』を選択します。
    Devicesをすべて選択。
    “save current configuration”を選択しSENDを押します。


    ボーレートとリフレッシュレートについてはデフォルトのボーレート9600、リフレッシュレート1HZでは通信速度が遅すぎます。
    ボーレートは最低でも38400以上、ALL IN ONE PRO Flight Controller V1.1なら好きなボーレートで作動させられます。

    Multiwii MWC SE Flight Control Board V1.0はMultiwii FC I2C-GPS NAV Moduleの関係で 115200でないと通信しません。

    リフレッシュレート1HZだとどうなるかと言うと衛星捕捉が遅いためFCの認識がかなり遅くなり
    位置情報の更新が遅いのでRTHなどで位置が定まらず機体がフライト中迷走?したりします。
    リフレッシュレートは5HZ以上あればMultiWiiのプログラム通りの動作で機体が自動操縦される感じです。

    この設定(ボーレート115200、リフレッシュレート5HZ)ができていないとMultiWii FCとの通信は出来ないので
    ちゃんと設定が反映されているかどうかパソコンのFTDI接続、u-center GPS評価ソフトウェアで確認をしておきます。


    リフレッシュレート10HZにすると赤字になってしまいますがさらにデータの速度があがり位置精度が良くなるようです。

    さらに一度配線を取り外し電源を切って暫くしてから再接続して設定が維持されているか確認をしておきます。

    MultiWii FCにGPSを接続するとPH(ポジションホールド・・・・ GPS座標値を記憶してその場で停止) 
    RTH(リターントゥホーム・・・・アームした位置まで自動操縦で帰還)などが出来るようになります。

    GPSの接続は+ -, TX, RX の4種類で共通なのでボーレートなどの設定ができればいろいろなGPSをMultiWii FCに接続することができます。
    Multiwii MWC FC CN-06 GPS Receiver V2.0は5V接続なので門題ありませんがGPSの中には3.3V駆動のものもあり
    そのようなGPSは当然3.3V電源に接続するようにします。


    MultiWii FC別の接続。

    シリアルポートから直接接続できるALL IN ONE PRO Flight Controller とi2C接続のMultiwii MWC SE Flight Control Board V1.0があります。
    i2C接続のボードの場合はMultiwii FC I2C-GPS NAV ModuleでシリアルのGPSをi2Cに変換してコントロールボードに接続します。

    接続は基本通り通信の受け渡しはTX(送信)からRX(受信)ですからGPSは衛星のデータを捕捉して情報を流すTX,送信機、
    コントロールボードやMultiwii FC I2C-GPS NAV Moduleなどはその情報を受け取るRX,受信機になります。
    従ってGPSからの接続はTX、受けるコントロールボードやMultiwii FC I2C-GPS NAV ModuleのほうはRXに接続します。


    コンフィングツールの設定

    GPS HOME と GPS HOLDをAUX1,AUX2などに割り当てます。
    このとき加速度センサー(ACC)、気圧センサー(BARO)、磁気センサー(MAG)、の各センサーはオンになるようにします。
    FTDIを接続してMultiwii FCの各センサーを起動させている状態でi2Cエラーは0でなければいけません。



    GPSを使用してのコマンドは自動操縦になるので機体の調整がとれていて各センサーが正常に機能していないと
    思い通りにならないばかりかとんでもない挙動になり危険です。 MultiWii FCの良いところは自動操縦になっていても
    操舵を割り込ませることが出来る点でRTHで到着点まで間に障害物があったり高度が下がったりしたときマニュアルで
    修正舵を割り込ませることでき、その後また自動で制御が続きます。

    注意点は機体がホバリングしているとき振動もなくスムーズにプロペラが回転しているか、加速度センサーオンのとき無風状態では
    トリムがとれていてその場に留まっているか、加速度センサーオンのときホバリングで左右に振り回してもすぐに水平になりより戻し
    (ハンチング)などが発生しないか、気圧センサーオンのとき手放しでのホバリングで上下動が上下1m程度で収まっているか、
    磁気センサーオンのとき指示しないかぎりその方位を維持しているか、・・・・などです。


    ALL IN ONE PRO Flight Controller V1.1 の場合このボードはシリアルポートを複数持っているのでMultiwii MWC FC CN-06 GPS Receiver V2.0
    は直接ボードのシリアルポート2(RX2,TX2)に接続することができます。

    MultiWii release 2.1の場合ファームの変更部分はこのようになります。

    config.h

     /**************************************************************************************/
      /***********************                  GPS                **************************/
      /**************************************************************************************/

        /* GPS using a SERIAL port
           only available on MEGA boards (this might be possible on 328 based boards in the future)
           if enabled, define here the Arduino Serial port number and the UART speed
           note: only the RX PIN is used, the GPS is not configured by multiwii
           the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
           at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
        #define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
        #define GPS_BAUD 115200
        ここのボーレートを接続するGPSの数値に変更することでいろいろなGPSと繋がります。 

        //#define GPS_PROMINI_SERIAL    57600 // Will Autosense if GPS is connected when ardu boots
      
        /* I2C GPS device made with an independant arduino + GPS device
           including some navigation functions
           contribution from EOSBandi  
    http://code.google.com/p/i2c-gps-nav/
           You have to use at least I2CGpsNav code r33 */
        //#define I2C_GPS

       /* I2C GPS device made with an indeedent ATTiny[24]313 + GPS device and
           optional sonar device.   
    https://github.com/wertarbyte/tiny-gps/ */
        /* get GPS data from Tiny-GPS */
        //#define TINY_GPS
        /* get sonar data from Tiny-GPS */
        //#define TINY_GPS_SONAR

      /* indicate a valid GPS fix with at least 5 satellites by flashing the LED? */
        #define GPS_LED_INDICATOR


    Multiwii MWC SE Flight Control Board V1.0場合GPSはi2C接続になるのでコントロールボードとGPSの間には
    Multiwii FC I2C-GPS NAV Module を挟む接続になります。

      

     

    MultiWii release 2.1の場合ファームの変更部分はこのようになります。

    config.h

    /**************************************************************************************/
      /***********************                  GPS                **************************/
      /**************************************************************************************/

        /* GPS using a SERIAL port
           only available on MEGA boards (this might be possible on 328 based boards in the future)
           if enabled, define here the Arduino Serial port number and the UART speed
           note: only the RX PIN is used, the GPS is not configured by multiwii
           the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
           at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
        //#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
       #define GPS_BAUD 115200
       
        //#define GPS_PROMINI_SERIAL    57600 // Will Autosense if GPS is connected when ardu boots
      
        /* I2C GPS device made with an independant arduino + GPS device
           including some navigation functions
           contribution from EOSBandi  
    http://code.google.com/p/i2c-gps-nav/
           You have to use at least I2CGpsNav code r33 */
       
    #define I2C_GPS

        /* I2C GPS device made with an indeedent ATTiny[24]313 + GPS device and
           optional sonar device.   
    https://github.com/wertarbyte/tiny-gps/ */
        /* get GPS data from Tiny-GPS */
        //#define TINY_GPS
        /* get sonar data from Tiny-GPS */
        //#define TINY_GPS_SONAR

        /* indicate a valid GPS fix with at least 5 satellites by flashing the LED? */
        #define GPS_LED_INDICATOR



    Multiwii MWC SE Flight Control Board V0.2はGPSの接続ができませんがリード線を2本ハンダ付けする事により
    GPSの接続ができるようになります。

    ファームの変更点、接続、設定はMultiwii MWC SE Flight Control Board V1.0と同じです。



     

     


    GPSを利用したRTHの動画です。
    RTHのコマンドは6CHに割り当てていますが機体発見ブザーと同じCHなので
    ブザーが鳴っている時がRTHのコマンドで自動制御でアーム地点に向かっている状態です。